/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package ar.edu.utn.frsf.cidisi.ginet.abstractginet;

import org.pnml.tools.epnk.pnmlcoremodel.PlaceNode;

import ar.edu.utn.frsf.cidisi.ginet.Page;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Transition</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link ar.edu.utn.frsf.cidisi.ginet.abstractginet.Transition#getParallelCardinality <em>Parallel Cardinality</em>}</li>
 *   <li>{@link ar.edu.utn.frsf.cidisi.ginet.abstractginet.Transition#getRefPage <em>Ref Page</em>}</li>
 *   <li>{@link ar.edu.utn.frsf.cidisi.ginet.abstractginet.Transition#getSequentialCardinality <em>Sequential Cardinality</em>}</li>
 * </ul>
 * </p>
 *
 * @see ar.edu.utn.frsf.cidisi.ginet.abstractginet.AbstractginetPackage#getTransition()
 * @model
 * @generated
 */
public interface Transition extends ar.edu.utn.frsf.cidisi.ginet.Transition {
	/**
	 * Returns the value of the '<em><b>Parallel Cardinality</b></em>' attribute.
	 * The default value is <code>"1"</code>.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Parallel Cardinality</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Parallel Cardinality</em>' attribute.
	 * @see #setParallelCardinality(String)
	 * @see ar.edu.utn.frsf.cidisi.ginet.abstractginet.AbstractginetPackage#getTransition_ParallelCardinality()
	 * @model default="1" required="true"
	 * @generated
	 */
	String getParallelCardinality();

	/**
	 * Sets the value of the '{@link ar.edu.utn.frsf.cidisi.ginet.abstractginet.Transition#getParallelCardinality <em>Parallel Cardinality</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Parallel Cardinality</em>' attribute.
	 * @see #getParallelCardinality()
	 * @generated
	 */
	void setParallelCardinality(String value);

	/**
	 * Returns the value of the '<em><b>Ref Page</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Ref Page</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Ref Page</em>' reference.
	 * @see #setRefPage(Page)
	 * @see ar.edu.utn.frsf.cidisi.ginet.abstractginet.AbstractginetPackage#getTransition_RefPage()
	 * @model
	 * @generated
	 */
	Page getRefPage();

	/**
	 * Sets the value of the '{@link ar.edu.utn.frsf.cidisi.ginet.abstractginet.Transition#getRefPage <em>Ref Page</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Ref Page</em>' reference.
	 * @see #getRefPage()
	 * @generated
	 */
	void setRefPage(Page value);

	/**
	 * Returns the value of the '<em><b>Sequential Cardinality</b></em>' attribute.
	 * The default value is <code>"1"</code>.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Sequential Cardinality</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Sequential Cardinality</em>' attribute.
	 * @see #setSequentialCardinality(String)
	 * @see ar.edu.utn.frsf.cidisi.ginet.abstractginet.AbstractginetPackage#getTransition_SequentialCardinality()
	 * @model default="1" required="true"
	 * @generated
	 */
	String getSequentialCardinality();

	/**
	 * Sets the value of the '{@link ar.edu.utn.frsf.cidisi.ginet.abstractginet.Transition#getSequentialCardinality <em>Sequential Cardinality</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Sequential Cardinality</em>' attribute.
	 * @see #getSequentialCardinality()
	 * @generated
	 */
	void setSequentialCardinality(String value);

	/**
	 * Returns true if this transition is output of {@code node}
	 * 
	 * @param node An object instances of Place or RefPlace
	 * @return Boolean
	 *
	 * jmr
	 */
	public boolean isConnectedTo(PlaceNode node);
	
	
	public Transition clone();

} // Transition
